The present invention relates generally to providing a modem with an ability to handle call waiting. More specifically, the present invention provides apparatus and methods for maintaining a modem connection and line speed despite interruptions caused by call waiting signals.
As Internet use continues to grow, an increasing number of home users are using a modem connected to a personal computer to access the Internet. Many of these home users have only a single telephone line coming into their home, and during lengthy sessions of Internet use, this phone line may be busy handling data traffic for extended periods of time, preventing other telephone calls from getting through.
Call waiting is a feature available on most residential telephone connections that informs a telephone user that a third party is trying to call while the telephone is in use. Typically, this is achieved by producing a special call waiting tone (generally a short beep) on the phone line to inform the user that someone is trying to call. The user may choose to place the current call on hold and accept the incoming call by sending a xe2x80x9cflashxe2x80x9d signal. Alternatively, the user may ignore the incoming call, or hang up on the current call, and accept the incoming call. Using call waiting, it is possible for a telephone user with a single telephone line to avoid missing calls while the telephone line is in use.
Unfortunately, call waiting does not typically solve the problem faced by modem users who have only a single telephone line. During modem use, the user typically does not hear the call waiting signal, so is unable to take the incoming call. Worse, the call waiting signal may interfere with a modem""s signals, causing many modems to drop their connection.
On some high-speed modems, even if the call waiting signal does not cause the modem connection to drop, the connection speed may be affected. For example, on a 56 kilobits/second modem supporting the ITU V.90 standard, telephone line conditions can cause the modem to xe2x80x9cretrainxe2x80x9d the communication speed, and decrease the speed if the line quality is too poor to support higher speeds. If the speed drops into a range at which the lower-speed CCITT V.34 protocol would be more reliable, the modem will typically switch to the V.34 protocol. The speed range at which V.34 becomes more reliable is implementation dependent, but is typically approximately 28 to 33 kilobits/second. Once the modem is using the V.34 protocol, it will not be able to retrain to increase the speed above 33.6 kilobits/second, since that is the maximum speed of the V.34 protocol, and the V.34 protocol does not provide an ability to switch back up to the higher-speed V.90 protocol.
The call waiting signal, as well as other signals associated with handling call waiting, such as turning relays on and off, hook-flash signals, taking local telephone devices off-hook, and so on, may appear to a modem to be line noise, causing the modem to retrain to a lower speed. If the decrease in speed causes the modem to fallback to the V.34 protocol, the call waiting signal may cause the modem to work at a slow speed as long as the modem is connectedxe2x80x94even after the call waiting signal has ended.
Numerous attempts have been made to solve some of the problems associated with call waiting and modems. For example, many manufacturers have produced devices that plug into a telephone line, and produce a distinctive sound or other indication when a call waiting signal is detected. When using such a device in combination with a modem, the user will hear the distinctive sound when a call waiting signal occurs, and will be able to decide whether to pick up the incoming call. Since they are separate from a modem, such devices do not address the possibility that the modem connection may be dropped due to the call waiting signal, or the possibility of connection speed reductions due to retraining caused by the call waiting signal.
In U.S. Pat. No. 4,852,151, to Dittakavi et al., a call waiting detection device is combined with a modem. The modem is capable of detecting a call waiting signal, and of informing the user, either through a message on the computer screen, or though some other indicator, that a call waiting signal has been detected. The user is given the option of picking up the incoming call, or ignoring the call waiting signal. Additionally, Dittakavi et al. suggests that setting the S10 registerxe2x80x94that controls the delay time from loss of carrier to hang upxe2x80x94to a high enough value will prevent the modem from dropping the line (i.e. hanging up) when a call waiting signal occurs. Dittakavi et al. fails to address the loss of speed that may occur as a result of retraining, or the possibility that the speed may drop below a level from which it cannot recover (i.e., by switching the protocol from V.90 to V.34).
U.S. Pat. No. 5,550,908, to Cai et al., is directed to a modem that can handle caller ID on call waiting service. The device described by Cai et al. can detect a call waiting signal, and receive a caller ID associated with the call waiting signal. The user is alerted of the presence of the call waiting signal, and of the caller ID of the incoming call. The user may then choose whether to ignore the incoming call, or to answer the incoming call. Cai et al. handles the possibility of the modem dropping the line due to the call waiting signal in a manner similar to Dittakavi et al., by adjusting the S10 register, that controls the time between loss of carrier and hangup. Cai et al. also addresses retraining, by acknowledging that retraining may be necessary to reestablish communications after the call waiting signal. Additionally, Cai et al. attempts to prevent retraining failure by not starting a retrain sequence until after a second call waiting signal is received within a predefined period of time. Cai et al. does not address the loss of speed that may occur as a result of retraining, or the possibility that the speed may drop below a level from which it cannot recover.
Other attempts to handle difficulties encountered when using a modem with call waiting require changes to the overall telephone system, or to the equipment and methods used by the provider of telephone service. For example, in U.S. Pat. No. 5,491,744, to Kikinis, the central telephone switching system determines whether a subscriber""s telephone is being used for voice or data transmissions when an additional call comes in. If the central switching system detects a voice transmission, it sends a call waiting signal. If a data transmission is detected, the central switching system will avoid interrupting the transmission with a call waiting signal.
Systems of this sort, which require changes in a central telephone switching system, are not within the control of a telephone user, and must be implemented by telephone service providers. While such solutions may be offered by providers in the future, they are not generally available at the present time.
In view of the above, it is an object of the present invention to provide apparatus and methods to permit a modem to inform a user of call waiting signals, and to handle call waiting signals without losing the connection, and without switching from the current protocol to a lower-speed protocol, from which the modem may not recover.
It is a further object of the present invention to provide a combined modem and call waiting device having relatively low manufacturing cost and improved call waiting signal detection, the modem handling call waiting signals without losing the connection, and without switching from the current protocol to a lower-speed protocol, from which the modem may not recover.
It is an object of the present invention to provide apparatus and methods to permit a modem to inform a user of call waiting signals, and to handle call waiting signals without losing the connection, and without switching from the current protocol to a lower-speed protocol, from which the modem may not recover.
It is a further object of the present invention to provide a combined modem and call waiting device having relatively low manufacturing cost and improved call waiting signal detection, the modem handling call waiting signals without losing the connection, and without switching from the current protocol to a lower-speed protocol, from which the modem may not recover.
These and other objects of the present invention are achieved by providing a modem that detects and handles the call waiting signal. The modem comprises a main hook switch, that connects the modem circuitry to a telephone line, a local phone switch, that connects a local telephone device connected to the modem to the telephone line, and a sensor that determines whether the local telephone device is on-hook or off-hook. Additionally, the modem comprises a CODEC and/or DSP that detects a call waiting signal, an MPU that controls the modem, and a ring generator and speaker, that are used to alert the user when a call waiting signal is present.
The modem of the present invention is programmed so that when a call waiting signal is detected, the modem starts a call waiting task that handles the call waiting signal. The call waiting task uses the ring generator and speaker to generate ringing tones, alerting the user that a call waiting signal has been detected. The call waiting task then uses the sensor to determine whether the user takes the local telephone device off-hook. If the local telephone device is taken off-hook, the call waiting task sends a hook-flash signal to the local telephone company, to switch to the incoming call. When the user places the local telephone device back on-hook, a second hook-flash signal is sent to the telephone company, to switch back to the original modem connection.
The call waiting task executes concurrently with a task that may attempt to xe2x80x9cretrainxe2x80x9d the connection speed of the modem during a call waiting event, such as a call waiting signal. The xe2x80x9cretrainxe2x80x9d procedure of the modem of the present invention prevents a xe2x80x9cfallbackxe2x80x9d, in which the modem switches from its current protocol to a lower-speed protocol (e.g., from V.90 to V.34), if the retrain procedure occurs as a result of a call waiting signal, or due to call-waiting activity. This may be achieved by determining if a suitable communication rate of the modem has fallen below a threshold, below which a fallback may occur. If so, the modem determines whether the fallback will be permitted based on whether the retrain occurred as a result of a call waiting event. Alternatively, the modem of the present invention may prevent a fallback by not permitting the suitable communication rate to fall below its previous level during a call waiting event.